﻿using System.Collections.Generic;

namespace AppFuscator.MapDecoder
{
    public interface INode
    {
        string Name { get; set; }
    }

    public class RootNode : INode
    {
        public string Name { get; set; }

        public RootNode(string ANewName)
        {
            Name = ANewName;
        }
    }

    public class BaseNode<T1, T2> : INode
    {
        public string Name { get; set; }

        public T1 Parent { get; set; }

        public T2 NodeLink { get; set; }

        public BaseNode(string ANewName, T1 AParent, T2 ANodeLink)
        {
            Name = ANewName;
            Parent = AParent;
            NodeLink = ANodeLink;
        }
    }

    public interface ITypelistHolder
    {
        List<Type> TypeList { get; set; }

        string AssembleName { get; set; }
    }
}